package com.snut.tomorrowNews.service.back;

import com.snut.tomorrowNews.dao.back.AdminDao;
import com.snut.tomorrowNews.model.Admin;
import com.snut.tomorrowNews.model.Role;
import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Service
@Transactional
public class AdminService {

    @Autowired
    AdminDao adminDao;


    public void updateAdmin(Admin admin) {
        adminDao.updateAdmin(admin);
    }

    public List<Admin> getAdminList() {
        return adminDao.getAdminList();
    }

    public List<Role> getRoleList() {
        return adminDao.getRoleList();
    }

    public void updatePassword(Admin admin) {//密码
        adminDao.updateAdmin(admin);
    }

    public void saveAdmin(Admin admin) {
        //1.密码 默认值 111111 从电话中截取一部分 密码加密存储
        String password = DigestUtils.md5Hex("111111");
        admin.setPassword(password);
        //2.存储管理员信息, 返回管理员id
        adminDao.insertAdmin(admin);
        //3.存储管理员和角色关系
        if (admin.getRoleId() != null) {
            for (Integer roleid : admin.getRoleId()) {
                adminDao.insertAdminRole(admin.getId(), roleid);
            }
        }
    }


    public Admin findAdmin(Integer id) {
        return adminDao.findAdmin(id);
    }

    /*
      修改
     */
    public void alterAdmin(Admin admin) {
        //修改管理员表


        //删除原来的管理员 角色 关系

        //重写存储管理员和角色关系
    }

    public boolean updatapas(Integer id, String newpas, String old) {
        String oldPas = adminDao.checkPasByid(id);
        System.out.println(oldPas);
        if (old.equals(oldPas)) {
            adminDao.updatePas(id, newpas);
            return true;
        } else {
            return false;
        }
    }
}
